package com.skyd.core.android.game.crosswisewar;

import com.skyd.core.game.crosswisewar.IGod;
import com.skyd.core.game.crosswisewar.INation;

public abstract class God implements IGod {

	/**
 * 初始值为0。
 * 功能注释：得分
 */
	private  int _Score = 0;
/**
 * 获取Score。
 * 功能注释：得分
 * @return 当前的int类型的值
 */
	public  int getScore() {
		return _Score;
	}
/**
 * 设置Score。
 * 功能注释：得分
 * @param value 要设置的int类型值
 */
	public  void setScore(int value) {
		_Score = value;
	}	
/**
 * 设置Score为其默认值(0)。
 * 功能注释：得分
 */
	public  void setScoreToDefault() {
		setScore(0);
	}

	/**
	 * 初始化
	 * @param gamescene 游戏世界场景
	 */
	public static void init(Scene scene){
		setRighteousNation(new Our());
		setEvilNation(new Enemy());
		setWorld(scene);
	}

	/**
	 * 初始值为null。 功能注释：世界（场景）
	 */
	private static Scene _World = null;

	/**
	 * 获取World。 功能注释：世界（场景）
	 * 
	 * @return 当前的GameScene类型的值
	 */
	public static Scene getWorld() {
		return _World;
	}

	/**
	 * 设置World。 功能注释：世界（场景）
	 * 
	 * @param value
	 *            要设置的GameScene类型值
	 */
	private static void setWorld(Scene value) {
		_World = value;
	}

//	/**
//	 * 设置World为其默认值(null)。 功能注释：世界（场景）
//	 */
//	private static void setWorldToDefault() {
//		setWorld(null);
//	}

	/**
	 * 初始值为null。 功能注释：正义方阵营
	 */
	private static Nation _RighteousNation = null;

	/**
	 * 获取RighteousNation。 功能注释：正义方阵营
	 * 
	 * @return 当前的Nation类型的值
	 */
	public static Nation getRighteousNation() {
		return _RighteousNation;
	}

	/**
	 * 设置RighteousNation。 功能注释：正义方阵营
	 * 
	 * @param value
	 *            要设置的Nation类型值
	 */
	private static void setRighteousNation(Nation value) {
		_RighteousNation = value;
	}

//	/**
//	 * 设置RighteousNation为其默认值(null)。 功能注释：正义方阵营
//	 */
//	private static void setRighteousNationToDefault() {
//		setRighteousNation(null);
//	}

	/**
	 * 初始值为null。 功能注释：邪恶方阵营
	 */
	private static Nation _EvilNation = null;

	/**
	 * 获取EvilNation。 功能注释：邪恶方阵营
	 * 
	 * @return 当前的Nation类型的值
	 */
	public static Nation getEvilNation() {
		return _EvilNation;
	}

	/**
	 * 设置EvilNation。 功能注释：邪恶方阵营
	 * 
	 * @param value
	 *            要设置的Nation类型值
	 */
	private static void setEvilNation(Nation value) {
		_EvilNation = value;
	}

//	/**
//	 * 设置EvilNation为其默认值(null)。 功能注释：邪恶方阵营
//	 */
//	private static void setEvilNationToDefault() {
//		setEvilNation(null);
//	}
	
	/**
	 * 获取敌对阵营
	 */
	public static Nation getEnemyNation(INation ourNation){
		return ourNation.getIsRighteous()?getEvilNation():getRighteousNation();
	}
}
